SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TCCOMP_COBR_I01]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS                 --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---Mödulo               : Empresa                    --*/  
/*---Programa             : Grabaci÷n Cuotas a la tabla--*/   
/*---                       Cuentas x Cobrar            --*/   
/*---Script               : tcmovi_b.sql               --*/  
/*---Nombre SP            : SP_TCCOMP_COBR_I01         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaciön       : 16/11/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versiön              : 7.0                     --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : Maribel Julca Rodriguez    --*/  
/*---Fecha Modificaci©n   : 21/04/2005                 --*/   
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*--- Drop Proc SP_TCCOMP_COBR_I01                     --*/  
/*--- Grant all on SP_TCCOMP_COBR_I01 to public        --*/   
/*--- SP_TCCOMP_COBR_I01                               --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR         TD_VC_002,   
 @ISCO_USUA_MODI    TD_VC_008_USUA,  
 @ISTI_COMP_COBR     TD_VC_003,  
 @ISNU_COMP_COBR    TD_VC_008,  
 @ISCO_TIPO_OPER    TD_VC_003,  
 @ISCO_CLIE         TD_VC_020,  
 @ISCO_MONE         TD_VC_003,  
 @INFA_TIPO_CAMB    TD_NU_015_006,  
 @ISCO_UNID_CNTB    TD_VC_003,  
 @ISDE_OBSE         TD_VC_100
	As
Declare   
 @CSNU_COMP_COBR  TD_VC_008,   
 @CNNU_CUOT_DETA  TD_IN_001,   
 @CDFE_VENC_CUOT  TD_DT_001,   
 @CNIM_CUOT       TD_NU_016_004,  
 @VNNU_FETC_0002  TD_IN_001,  
 @VNNU_FETC_0001  TD_IN_001,  
 @CNNU_CORR       TD_IN_001,  
 @CNPO_DIST       TD_NU_009_004,  
 @CSTI_AUXI_EMPR  TD_VC_001,  
 @CNIM_CUOT_DIST  TD_NU_016_004,  
 @CSCO_AUXI_EMPR  TD_VC_020,  
 @CSCO_CNTA_EMPR  TD_VC_010,  
 @CSCO_ORDE_SERV  TD_VC_020,  
 @CSST_DIST       TD_VC_001,  
 @CSTI_COMP_COBR   TD_VC_003  
  
 BEGIN TRAN  
  
 Declare CU_TCCOMP_COBR_I01_1 cursor   
 For   
  Select  TI_COMP_COBR, NU_COMP_COBR, NU_CUOT_DETA, FE_VENC_CUOT, IM_CUOT  
  From    TDCOMP_COBR  
  Where   CO_EMPR = @ISCO_EMPR  
  And TI_COMP_COBR = @ISTI_COMP_COBR  
   And NU_COMP_COBR = @ISNU_COMP_COBR  
  
 Open CU_TCCOMP_COBR_I01_1  
 Fetch CU_TCCOMP_COBR_I01_1 Into   
 @CSTI_COMP_COBR, @CSNU_COMP_COBR, @CNNU_CUOT_DETA, @CDFE_VENC_CUOT, @CNIM_CUOT  
  
 Select @VNNU_FETC_0001 = @@FETCH_STATUS  
  
 While (@VNNU_FETC_0001 = 0)  
   Begin  
     If (@VNNU_FETC_0001 < 0)  
        Begin  
          Close CU_TCCOMP_COBR_I01_1  
          Deallocate CU_TCCOMP_COBR_I01_1  
          Return  
        End  
  
     Insert Into TMDOCU_CLIE (CO_EMPR,CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE,CO_TIPO_OPER,  
       CO_COND_PAGO, CO_UNID_CONC, FE_VENC, FE_EMIS, FE_PROG_COBR, FA_TIPO_CAMB, CO_MONE, IM_BRUT_AFEC,  
       IM_TOTA, DE_OBSE, CO_ESTA_DOCU, ST_CONT, PC_DCT1, PC_DCT2,CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
     Values (@ISCO_EMPR, @ISCO_CLIE, @ISTI_COMP_COBR, @CSNU_COMP_COBR+'-'+replicate ('0', 3-len(rtrim(convert(varchar, 
@CNNU_CUOT_DETA))))+convert(varchar, @CNNU_CUOT_DETA),  
   @ISCO_TIPO_OPER, '001', @ISCO_UNID_CNTB, @CDFE_VENC_CUOT, @CDFE_VENC_CUOT,   
  @CDFE_VENC_CUOT, @INFA_TIPO_CAMB, @ISCO_MONE, @CNIM_CUOT, @CNIM_CUOT, @ISDE_OBSE, 'ACT', 'N',   
  0, 0, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())  
  
     IF (@@ERROR != 0)  
         BEGIN  
           Close CU_TCCOMP_COBR_I01_1  
           Deallocate CU_TCCOMP_COBR_I01_1   
           ROLLBACK TRAN  
           RETURN  
         END  
  
     Declare CU_TCCOMP_COBR_I01_2 cursor   
     For    
      Select  NU_CORR, TI_AUXI_EMPR, CO_AUXI_EMPR, CO_CNTA_EMPR, CO_ORDE_SERV, ST_DIST,   
             PO_DIST, IM_CUOT_DIST  
      From    TDDIST_COCO  
      Where   CO_EMPR = @ISCO_EMPR  
         And TI_COMP_COBR = @CSTI_COMP_COBR  
       And NU_COMP_COBR = @CSNU_COMP_COBR  
  
     Open CU_TCCOMP_COBR_I01_2  
     Fetch CU_TCCOMP_COBR_I01_2 Into   
 @CNNU_CORR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSCO_CNTA_EMPR,  
      @CSCO_ORDE_SERV, @CSST_DIST, @CNPO_DIST, @CNIM_CUOT_DIST  
  
     SELECT @VNNU_FETC_0002 = @@FETCH_STATUS  
  
     While (@VNNU_FETC_0002 = 0)  
       Begin  
         If (@VNNU_FETC_0002 < 0)  
            Begin  
              Close CU_TCCOMP_COBR_I01_1  
              Deallocate CU_TCCOMP_COBR_I01_1   
              Close CU_TCCOMP_COBR_I01_2  
              Deallocate CU_TCCOMP_COBR_I01_2  
              Return  
            End  
  
         
         Insert Into TDDISC_CCOS (CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE,   
  NU_CORR, TI_AUXI_EMPR, CO_CENT_COST, CO_CNTA_EMPR, CO_ORDE_SERV,   
  ST_DIST, PO_DIST, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
         Values (@ISCO_EMPR, @ISCO_CLIE, @CSTI_COMP_COBR,   
  @CSNU_COMP_COBR+'-'+replicate ('0', 3-len(rtrim(convert(varchar, @CNNU_CUOT_DETA))))+convert(varchar, @CNNU_CUOT_DETA), 
 
          @CNNU_CORR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSCO_CNTA_EMPR,   
  @CSCO_ORDE_SERV, @CSST_DIST, @CNPO_DIST, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())  
  
         IF (@@ERROR != 0)  
            BEGIN  
              Close CU_TCCOMP_COBR_I01_1  
              Deallocate CU_TCCOMP_COBR_I01_1   
              Close CU_TCCOMP_COBR_I01_2  
              Deallocate CU_TCCOMP_COBR_I01_2  
              ROLLBACK TRAN  
              RETURN  
            END  
  
        Fetch  CU_TCCOMP_COBR_I01_2   
 Into  @CNNU_CORR, @CSTI_AUXI_EMPR, @CSCO_AUXI_EMPR, @CSCO_CNTA_EMPR,   
          @CSCO_ORDE_SERV, @CSST_DIST, @CNPO_DIST, @CNIM_CUOT_DIST  
  
         SELECT @VNNU_FETC_0002 = @@FETCH_STATUS  
  
       End  
  
       Close CU_TCCOMP_COBR_I01_2  
       Deallocate CU_TCCOMP_COBR_I01_2  
   
        Fetch  CU_TCCOMP_COBR_I01_1   
 Into  @CSTI_COMP_COBR, @CSNU_COMP_COBR, @CNNU_CUOT_DETA, @CDFE_VENC_CUOT, @CNIM_CUOT  
  
       SELECT @VNNU_FETC_0001 = @@FETCH_STATUS  
  
   End  
   
 Close CU_TCCOMP_COBR_I01_1  
 Deallocate CU_TCCOMP_COBR_I01_1   
  
 Commit  
  
Return   
/*--------------------------- Fin -------------------------------- */


GO
